package com.translate.web.service;
import com.basic.service.contract.IBaseService;
import com.translate.vo.contract.IApprovalFlowPathVO;

import java.util.List;
import java.util.Map;

import com.translate.entity.ApprovalFlowPath;

public interface IApprovalFlowPathService extends IBaseService<ApprovalFlowPath> { 

	/**
	 * 获取审批流程
	 * @param entityName
	 * @return
	 */
	List<ApprovalFlowPath> getApprovalFlowPathFromCache(String entityName);
	
	
	/**
	 * 获取审批流程 -> VO
	 * @param entityName
	 * @return
	 */
	<VO extends IApprovalFlowPathVO> List<VO> getApprovalFlowPathFromCache(String entityName, Class<VO> target);
	
	/**
	 * 验证审批
	 * @param userId
	 * @return
	 */
	boolean inspectionSequenceApprover(int userId);
	
	/**
	 * 获取审批人及审批顺序
	 * @return
	 */
	Map<Integer, String> getApprovalSortToMap(String entityName);


}
